package com.ruoyi.order.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 订单对象 order
 *
 * @author HYANFENG
 * @date 2021-03-17
 */
@TableName("onorder")
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    /** $column.columnComment */
    @TableId(value = "id")
    private Long id;
    /** 用户ID */
    @Excel(name = "用户ID")
    private Long customerId;
    /** 影院ID */
    @Excel(name = "影院ID")
    private Long cinemaId;
    /** 外部幂等流水号 */
    @Excel(name = "外部幂等流水号")
    private String outId;
    /** 手机号 */
    @Excel(name = "手机号")
    private String mobile;
    /** 类型 */
    @Excel(name = "类型")
    private String type;
    /** 编号 */

    private String yzOrderId;
    /** 影片编号 */
    @Excel(name = "影片编号")
    private String filmCode;
    /** 排期编号 */
    @Excel(name = "排期编号")
    private String scheduleId;
    /** 排期key  */
    @Excel(name = "排期key ")
    private String scheduleKey;
    /** 锁坐ID */
    @Excel(name = "锁坐ID")
    private String lockOrderId;
    /** 订单金额 */
    @Excel(name = "订单金额")
    private Long orderAmount;
    /** 支付金额 */
    @Excel(name = "支付金额")
    private Long payAmount;

    private Long ticketPayAmount;

    private Long goodsPayAmount;

    /** 优惠金额 */
    @Excel(name = "优惠金额")
    private Long promoAmount;
    private String delFlag;
    private Long version;

    private String status;

    private String payCode;

    private List<OrderTicket> orderTicketList;
    private List<OrderPromotion> orderPromotionList;
    private List<OrderPayment> orderPaymentList;
    private List<OrderGoods> orderGoodsList;

    private OrderFulfillInfo orderFulfillInfo;
    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }
    public void setCinemaId(Long cinemaId)
    {
        this.cinemaId = cinemaId;
    }

    public Long getCinemaId()
    {
        return cinemaId;
    }
    public void setOutId(String outId)
    {
        this.outId = outId;
    }

    public String getOutId()
    {
        return outId;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }
    public void setPayCode(String payCode)
    {
        this.payCode = payCode;
    }

    public String getPayCode()
    {
        return payCode;
    }

    public String getYzOrderId() {
        return yzOrderId;
    }

    public void setYzOrderId(String yzOrderId) {
        this.yzOrderId = yzOrderId;
    }

    public void setFilmCode(String filmCode)
    {
        this.filmCode = filmCode;
    }

    public String getFilmCode()
    {
        return filmCode;
    }
    public void setScheduleId(String scheduleId)
    {
        this.scheduleId = scheduleId;
    }

    public String getScheduleId()
    {
        return scheduleId;
    }
    public void setScheduleKey(String scheduleKey)
    {
        this.scheduleKey = scheduleKey;
    }

    public String getScheduleKey()
    {
        return scheduleKey;
    }
    public void setLockOrderId(String lockOrderId)
    {
        this.lockOrderId = lockOrderId;
    }

    public String getLockOrderId()
    {
        return lockOrderId;
    }

    public Long getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(Long orderAmount) {
        this.orderAmount = orderAmount;
    }

    public Long getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(Long payAmount) {
        this.payAmount = payAmount;
    }

    public Long getTicketPayAmount() {
        return ticketPayAmount;
    }

    public void setTicketPayAmount(Long ticketPayAmount) {
        this.ticketPayAmount = ticketPayAmount;
    }

    public Long getGoodsPayAmount() {
        return goodsPayAmount;
    }

    public void setGoodsPayAmount(Long goodsPayAmount) {
        this.goodsPayAmount = goodsPayAmount;
    }

    public Long getPromoAmount() {
        return promoAmount;
    }

    public void setPromoAmount(Long promoAmount) {
        this.promoAmount = promoAmount;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }

    public List<OrderTicket> getOrderTicketList() {
        return orderTicketList;
    }

    public void setOrderTicketList(List<OrderTicket> orderTicketList) {
        this.orderTicketList = orderTicketList;
    }

    public List<OrderPromotion> getOrderPromotionList() {
        return orderPromotionList;
    }

    public void setOrderPromotionList(List<OrderPromotion> orderPromotionList) {
        this.orderPromotionList = orderPromotionList;
    }

    public List<OrderPayment> getOrderPaymentList() {
        return orderPaymentList;
    }

    public void setOrderPaymentList(List<OrderPayment> orderPaymentList) {
        this.orderPaymentList = orderPaymentList;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public List<OrderGoods> getOrderGoodsList() {
        return orderGoodsList;
    }

    public void setOrderGoodsList(List<OrderGoods> orderGoodsList) {
        this.orderGoodsList = orderGoodsList;
    }

    public OrderFulfillInfo getOrderFulfillInfo() {
        return orderFulfillInfo;
    }

    public void setOrderFulfillInfo(OrderFulfillInfo orderFulfillInfo) {
        this.orderFulfillInfo = orderFulfillInfo;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("customerId", getCustomerId())
            .append("cinemaId", getCinemaId())
            .append("outId", getOutId())
            .append("mobile", getMobile())
            .append("type", getType())
            .append("payCode", getPayCode())
            .append("filmCode", getFilmCode())
            .append("scheduleId", getScheduleId())
            .append("scheduleKey", getScheduleKey())
            .append("lockOrderId", getLockOrderId())
            .append("orderAmount", getOrderAmount())
            .append("payAmount", getPayAmount())
            .append("promoAmount", getPromoAmount())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("version", getVersion())
            .append("status",getStatus())
            .toString();
    }
}
